var dataImportTimer = null;
var dataImportOldFileInfo = '';//上一个文件信息
var dataImportCnt = 1;
var dataImportFileCnt = 0;//文件个数
var dataImportInfo = null;

$(function(){
	$.ajax({
		type:"get",
		async:false,
		url:contextPath+"/fileUpload/getLicenseHospName.dhc",
		success:function(result){
			console.log(result);
			if(result.data=="清华长庚"){
				$("#"+tabId+" #isConfirmBtn").css("display","block");
			}
		}
	});
	
	window.onbeforeunload=function(){
		if ($('#'+tabId+' #shade').css('display')!='none' && $('#'+tabId+' #shade').css('display')!=undefined) {
			return '正在进行数据导入'
		}
	}
	tabId=$("#tabContent > .tab-pane.active").attr("id");
	//加载首页数据上传控件
	$('#'+tabId+' #medicalRecord_upload').uploadifive({
			'uploadScript' : contextPath + '/fileUpload/filesUpload.dhc',
	        'height': 37,
	        'width' :140,
	        'auto'  : true,//是否自动开始
	        'uploadLimit' : 100, //一次同步上传的文件数目     
	        'fileSizeLimit' : '500MB', //单个文件大小，0为无限制，可接受KB,MB,GB等单位的字符串值     
	        'queueSizeLimit' : 100, //队列中同时存在的文件个数限制
	        'fileObjName':'file',
	        'removeCompleted': true,  //是否完成后移除序列，默认为true
	        'removeTimeout' : '5',  //上传完成后队列多长时间后消失。默认 3秒    需要：removeCompleted : true,时使用
	        'progressData' :'percentage',//设置上传进度显示方式，percentage显示上传百分比，speed显示上传速度
	        'buttonText' : '<i class="fa fa-folder-open fa-lg"></i>&nbsp;&nbsp;选择首页数据',
	        'buttonClass': 'uploadifyH5_btn',
	        'fileType' : '*.xls; *.xlsx; *.xml; *.dbf',//允许上传的文件格式
	        'multi'    : true,//是否支持多文件上传
	        'method'   :'post',//提交方式
	        'debug':false,
	        //当点击文件队列中文件的关闭按钮或点击取消上传时触发
	        'onCancel': function(){ },
	      	//返回一个错误，选择文件的时候触发  
	        'onSelectError':  function(){ 
	            drgUI.error('文件上传失败!');
	        },
	      	//检测FLASH失败调用  
	        'onFallback':function(){  
	             drgUI.error('浏览器检测不到兼容版本的HTML5');
	        }, 
	        'onUploadError' : uploadify_onUploadError,
	        'onQueueComplete':function(queueData){
	        	showBgDiv();
	        	dataImportTimer =  setInterval("requestProcess()",2000);
	        	$.post(contextPath+'/fileUpload/importMedicalRecord.dhc').done(function(result){});
	        }
	    });
	
	//加载DRG数据上传控件
	$('#'+tabId+' #DRGs_upload').uploadifive({
		'uploadScript' : contextPath + '/fileUpload/filesUpload.dhc',
        'height': 37,
        'width' :140,
        'auto'  : true,//是否自动开始
        'uploadLimit' : 100, //一次同步上传的文件数目     
        'fileSizeLimit' : '500MB', //单个文件大小，0为无限制，可接受KB,MB,GB等单位的字符串值     
        'queueSizeLimit' : 100, //队列中同时存在的文件个数限制
        'fileObjName':'file',
        'removeCompleted': true,  //是否完成后移除序列，默认为true
        'removeTimeout' : '5',  //上传完成后队列多长时间后消失。默认 3秒    需要：removeCompleted : true,时使用
        'progressData' :'percentage',//设置上传进度显示方式，percentage显示上传百分比，speed显示上传速度
        'buttonText' : '<i class="fa fa-folder-open fa-lg"></i>&nbsp;&nbsp;选择DRG数据',
        'buttonClass': 'uploadifyH5_btn',
        'fileType' : '*.xls; *.xlsx; *.xml; *.dbf',//允许上传的文件格式
        'multi'    : true,//是否支持多文件上传
        'method'   :'post',//提交方式
        'debug':false,
        //当点击文件队列中文件的关闭按钮或点击取消上传时触发
        'onCancel': function(){ },
      	//返回一个错误，选择文件的时候触发  
        'onSelectError':  function(){
             drgUI.error('文件上传失败!');
        },
      	//检测FLASH失败调用  
        'onFallback':function(){  
			 drgUI.error('浏览器检测不到兼容版本的HTML5');
        }, 
        'onUploadError' : uploadify_onUploadError,
        'onQueueComplete':function(queueData){
        	closeBgDiv();
        	showBgDiv();//显示遮罩层
        	getMedicalRecordProgress();
             drgUI.success('成功上传的文件数: ' + queueData.successful + ' \n 上传出错的文件数: ' + queueData.errors);
            $.ajax({
       		 url :contextPath+'/fileUpload/importDRGs.dhc',
       		 data : {},
       		 type:'post',
       		 dataType : "html",//这里的dataType就是返回回来的数据格式了html,xml,json
       		 cache: false,//设置是否缓存，默认设置成为true，当需要每次刷新都需要执行数据库操作的话，需要设置成为false
       		 success : function(html) {	       		
       		 }
          });
        }
    });
	
	
	//加载医保数据上传控件
	$('#'+tabId+' #HC_upload').uploadifive({
		'uploadScript' : contextPath + '/fileUpload/filesUpload.dhc',
        'height': 37,
        'width' :140,
        'auto'  : true,//是否自动开始
        'uploadLimit' : 100, //一次同步上传的文件数目     
        'fileSizeLimit' : '500MB', //单个文件大小，0为无限制，可接受KB,MB,GB等单位的字符串值     
        'queueSizeLimit' : 100, //队列中同时存在的文件个数限制
        'fileObjName':'file',
        'removeCompleted': true,  //是否完成后移除序列，默认为true
        'removeTimeout' : '5',  //上传完成后队列多长时间后消失。默认 3秒    需要：removeCompleted : true,时使用
        'progressData' :'percentage',//设置上传进度显示方式，percentage显示上传百分比，speed显示上传速度
        'buttonText' : '<i class="fa fa-folder-open fa-lg"></i>&nbsp;&nbsp;选择医保数据',
        'buttonClass': 'uploadifyH5_btn',
        'fileType' : '*.xls; *.xlsx; *.xml; *.dbf',//允许上传的文件格式
        'multi'    : true,//是否支持多文件上传
        'method'   :'post',//提交方式
        'debug':false,
     //   'overrideEvents' : [ 'onDialogClose','onCancel', 'onUploadSuccess', 'onUploadError', 'onSelectError' ,'onUploadStart'],//重写Uploadify事件
        //当点击文件队列中文件的关闭按钮或点击取消上传时触发
        'onCancel': function(){ },
      	//返回一个错误，选择文件的时候触发  
        'onSelectError':  function(){
        	 drgUI.error('文件上传失败！');
        },
      	//检测FLASH失败调用  
        'onFallback':function(){  
            drgUI.error('浏览器检测不到兼容版本的HTML5');
        }, 
        'onUploadError' : uploadify_onUploadError,
        'onQueueComplete':function(queueData){
        	var now = new Date().getTime();
        	closeBgDiv();
        	showBgDiv();//显示遮罩层
        	getMedicalRecordProgress(now);
             drgUI.success('成功上传的文件数: ' + queueData.successful + ' \n 上传出错的文件数: ' + queueData.errors);
            $.ajax({
       		 url :contextPath+'/fileUpload/importHCData.dhc',
       		 data : {user_guid: "importHC_save_"+now},
       		 type:'post',
       		 dataType : "html",//这里的dataType就是返回回来的数据格式了html,xml,json
       		 cache: false,//设置是否缓存，默认设置成为true，当需要每次刷新都需要执行数据库操作的话，需要设置成为false
       		 success : function(html) {	       		
       		 }
           });
        }
    });
	
	// 上传按钮小手悬浮
	$("[type=file]").css("cursor","pointer");
	
	
	 var p = {"flag":""};//定义一个json格式的p，传是否是医保的flag
	 //绑定查看已导入首页数据的单击事件
	 $('#medicalRecordBtn').on('click',function(){
		 p.flag='0';
		 openTab('/pages/data/medicalRecord.jsp','首页数据','medicalRecordNum','medicalRecordNum',p);
	 });
	 //绑定查看已导入的医保数据的单击事件
	 $('#medicalRecordHcBtn').on('click',function(){
		 p.flag='1';
		 openTab('/pages/data/medicalRecord.jsp','首页数据','medicalRecordHcNum','medicalRecordHcNum',p);
	 });
})



function integration() {
	 $("#integration1").hide();
	 $.getJSON(contextPath+"/uploadFile/uploadFileCtrl.htm?BLHMI=integration",function(data){
	 	//var data="dto.integretionRtn:-31230-23";
		 alert(JSON.stringify(data));
		 var num = JSON.stringify(data);
		 var nNum = num.replace(/[^0-9|-]/ig,"");
		// alert("nNum:"+nNum);
		 if(nNum.substr(0,2)=="-1"){
			 $("#integration1").show();
			 var temp=nNum.substr(2,8);
			 alert(temp+"月份数据已经集成过了");
		 }else if(nNum.substr(0,2)=="-2"){	//-2代表首页和drg数据已经倒导入，医保数据还没有导入，提示导入outdate月的医保数据
			 $("#integration1").show();
			 var temp=nNum.substr(2,8);
			 alert(temp+"月份的首页数据和drg数据已经导入，请导入医保数据后在进行集成");
		 }else if(nNum.substr(0,2)=="-3"){	//-3首页数据已经导入，提示用户outdate月的医保和drg数据还没导入
			 $("#integration1").show();
			 var temp=nNum.substr(2,8);
			 alert(temp+"月份的首页数据已经导入，请导入drg数据和医保数据后在进行集成");
		 }else{
			 $("#integration1").show();
			 alert("成功集成"+nNum+"条数据");

		 }
	 });
}
function jump(){
	 $.ajax({
		 url :contextPath+'/caseGroup/caseGroupCtrl.htm?BLHMI=caseGroupMain',
		 data : {},
		 type:'post',
		 dataType : "html",//这里的dataType就是返回回来的数据格式了html,xml,json
		 cache: false,//设置是否缓存，默认设置成为true，当需要每次刷新都需要执行数据库操作的话，需要设置成为false
		 success : function(html) {
		 $('#test').html(html);
		 }
	 });
}


$(window).resize(function(){
	consoleHeight = $('#console_drgs').height();
});
/**
 * 请求进度信息
 */
function requestProcess()
{
	$.ajax({
		url: contextPath+"/fileUpload/requestProgress.dhc",
		dataType: "json",
		success: function(data){
			dataImportInfo = data.data;
			if(dataImportCnt == 1 && (dataImportInfo.stateInfo=="finish"||dataImportInfo.stateInfo=="error"))
			{
				//第一次请求就完成或报错了  表明是上一次的状态	不处理此次数据
			}
			else
			{
				if(dataImportInfo.fileInfo!="")
				{
					if(dataImportOldFileInfo !=dataImportInfo.fileInfo||$('#'+tabId+' #progress_info').html()=="")
					{
						dataImportOldFileInfo = dataImportInfo.fileInfo;
						dataImportFileCnt = dataImportFileCnt+1;
						$('#'+tabId+' #progress_info').append('<div id = "progress_info_dtl'+dataImportFileCnt+'"></div>');
						$('#'+tabId+' #progress_info_dtl'+dataImportFileCnt).append('<div id = "fileInfo"></div>');
						$('#'+tabId+' #progress_info_dtl'+dataImportFileCnt).append('<div id = "saveInfo"></div>');
						$('#'+tabId+' #progress_info_dtl'+dataImportFileCnt).append('<div id = "dataInfo"></div>');
						$('#'+tabId+' #progress_info_dtl'+dataImportFileCnt).append('<div id = "errorInfo"></div>');
					}
					$('#'+tabId+' #progress_info #progress_info_dtl'+dataImportFileCnt+' #fileInfo').html(dataImportInfo.fileInfo);
				}
				if(dataImportInfo.saveInfo!="")
				{
					$('#'+tabId+' #progress_info #progress_info_dtl'+dataImportFileCnt+' #saveInfo').html(dataImportInfo.saveInfo);
				}
				if(dataImportInfo.dataInfo!="")
				{
					$('#'+tabId+' #progress_info #progress_info_dtl'+dataImportFileCnt+' #dataInfo').html(dataImportInfo.dataInfo);
				}
				if(dataImportInfo.errorInfo!="")
				{
					$('#'+tabId+' #progress_info #progress_info_dtl'+dataImportFileCnt+' #errorInfo').html(dataImportInfo.errorInfo);
				}
				$('#'+tabId+' .progress-bar').css('width',dataImportInfo.percent+'%');
				$('#'+tabId+' .progress-bar span').html(dataImportInfo.percent+'%');
				if(dataImportInfo.stateInfo=="finish")
				{//全部完成了
					//结束定时器
					clearInterval(dataImportTimer);
					$('#'+tabId+' #progress_info').append('<p style="color:#5FBF18;"><i class="fa fa-smile-o fa-2x"></i></p>');
					$('#'+tabId+' #progress_info').append('<p></p>');
					$('#'+tabId+' #close_loading_btn').fadeIn();
				}
				else if (dataImportInfo.stateInfo=='error') {
					//结束定时器
					clearInterval(dataImportTimer);
					$('#'+tabId+' #progress_info').append('<p style="color:#FF4466;"><i class="fa fa-frown-o fa-2x"></i></p>');
					$('#'+tabId+' #progress_info').append('<p></p>');
					$('#'+tabId+' #close_loading_btn').fadeIn();
				}
				
			}
			dataImportCnt = dataImportCnt+1;
		}
	})
	
	/*
	//显示遮罩层
	showBgDiv();
	var cnt=1;//onmessage请求的次数
	var oldFileInfo = '';//上一个文件信息
	//请求后台信息
	var info =null;
	var fileCnt = 0;//文件个数
	var source=new EventSource($WEB_ROOT_PATH +'/fileUpload/requestProgress.dhc');
	source.onmessage=function(event){
		info=JSON.parse(event.data)
		if(cnt == 1 && (info.stateInfo=="finish"||info.stateInfo=="error"))
		{
			//第一次请求就完成或报错了  表明是上一次的状态	不处理此次数据
		}
		else
		{
			if(info.stateInfo=="finish")
			{//全部完成了
				source.close();
				$('#'+tabId+' #progress_info').append('<p style="color:#5FBF18;"><i class="fa fa-smile-o fa-2x"></i></p>');
				$('#'+tabId+' #progress_info').append('<p></p>');
				$('#'+tabId+' #close_loading_btn').fadeIn();
			}
			else if (info.stateInfo=='error') {
				source.close();
				$('#'+tabId+' #progress_info').append('<p style="color:#FF4466;"><i class="fa fa-frown-o fa-2x"></i></p>');
				$('#'+tabId+' #progress_info').append('<p></p>');
				$('#'+tabId+' #close_loading_btn').fadeIn();
			}
			if(info.fileInfo!="")
			{
				if(oldFileInfo !=info.fileInfo)
				{
					oldFileInfo = info.fileInfo;
					fileCnt = fileCnt+1;
					$('#'+tabId+' #progress_info').append('<div id = "progress_info_dtl'+fileCnt+'"></div>');
					$('#'+tabId+' #progress_info_dtl'+fileCnt).append('<div id = "fileInfo"></div>');
					$('#'+tabId+' #progress_info_dtl'+fileCnt).append('<div id = "saveInfo"></div>');
					$('#'+tabId+' #progress_info_dtl'+fileCnt).append('<div id = "dataInfo"></div>');
					$('#'+tabId+' #progress_info_dtl'+fileCnt).append('<div id = "errorInfo"></div>');
				}
				$('#'+tabId+' #progress_info #progress_info_dtl'+fileCnt+' #fileInfo').html(info.fileInfo);
			}
			if(info.saveInfo!="")
			{
				$('#'+tabId+' #progress_info #progress_info_dtl'+fileCnt+' #saveInfo').html(info.saveInfo);
			}
			if(info.dataInfo!="")
			{
				$('#'+tabId+' #progress_info #progress_info_dtl'+fileCnt+' #dataInfo').html(info.dataInfo);
			}
			if(info.errorInfo!="")
			{
				$('#'+tabId+' #progress_info #progress_info_dtl'+fileCnt+' #errorInfo').html(info.errorInfo);
			}
			$('#'+tabId+' .progress-bar').css('width',info.percent+'%');
			$('#'+tabId+' .progress-bar span').html(info.percent+'%');
		}
		cnt = cnt+1;
	};*/

}
//获取首页数据导入进度并显示
function getMedicalRecordProgress(now){
	var user_guid = "importHC_save_"+now;
	timerStart();
	if(typeof(EventSource)!=='undefined'){
		var message='';
		var pause = false;
		var continuen = false;
		var source=new EventSource($WEB_ROOT_PATH +'/fileUpload/getProgress.dhc?user_guid='+user_guid);
		source.onmessage=function(event){
			var info=JSON.parse(event.data)
			if(message!=info.msg){
				message=info.msg;
				$('#'+tabId+' #progress_info').append('<p>'+message+'</p>');
			}
			$('#'+tabId+' #progress_info_detail').html('<p>'+info.detail+'</p>');
			$('#'+tabId+' #progress_time').html(info.time);
			$('#'+tabId+' .progress-bar').css('width',info.percent+'%');
			$('#'+tabId+' .progress-bar span').html(info.percent+'%');
			if (info.msg=='pause' && !continuen) {
				if(pause) return;
				  drgUI.confirm({
						content : '监测到数据存在以下问题, 是否继续？ \n (确定将忽略上述问题，继续导入)',
						callSure : function() {
							$.post(contextPath + "/fileUpload/continueUpload.dhc", {user_guid: user_guid, operation: "continue"}).done();
						},
						callCancel : function(){
							 $.post(contextPath + "/fileUpload/continueUpload.dhc", {user_guid: user_guid, operation: "cancel"}).done();
						}
					});
				continuen = true;
				pause = true;
			}
			if (info.msg=='已完成') {
				clearInterval(timerId);
				source.close();
				$('#'+tabId+' #progress_info').append('<p style="color:#5FBF18;"><i class="fa fa-smile-o fa-2x"></i></p>');
				$('#'+tabId+' #progress_info').append('<p></p>');
				$('#'+tabId+' #close_loading_btn').fadeIn();
			}else if (info.msg=='已中断') {
				clearInterval(timerId);
				source.close();
				$('#'+tabId+' #progress_info').append('<p style="color:#FF4466;"><i class="fa fa-frown-o fa-2x"></i></p>');
				$('#'+tabId+' #progress_info').append('<p></p>');
				$('#'+tabId+' #close_loading_btn').fadeIn();
			}
		};
	}
}
//显示遮罩层div
function showBgDiv(){
	$('#'+tabId+' #shade').fadeIn();
	$('#'+tabId+' #con').css('-webkit-filter','blur(8px)');
	drgUI.bindAjaxStart('0');
}

//关闭遮罩层div
function closeBgDiv(){
	//初始化遮罩层内容
	$('#'+tabId+' #shade').fadeOut();
	$('#'+tabId+' #con').css('-webkit-filter','');
	
	$('#'+tabId+' #progress_info').html('');
	$('#'+tabId+' #progress_info_detail').html('');
	
	$('#'+tabId+' .progress-bar').css('width','0%');
	$('#'+tabId+' .progress-bar span').html('');
	
	$('#'+tabId+' #close_loading_btn').fadeOut();
	drgUI.bindAjaxStart('1');
}
var timerId;
function timerStart(){
	var h = 0;
	var m = 0;
	var s = 0;
	timerId = setInterval(function(){
		s++;
		if (s==60) {
			s=0;
			m++;
		}
		if (m==60) {
			m=0;
			h++;
		}
		$('#'+tabId+' #progress_usedtime').html(h+':'+m+':'+s);
	}, 1000)
}
//刷新进度
function refreshProgress(){
	clearInterval(timerId);
	closeBgDiv();
	showBgDiv();
	getMedicalRecordProgress();
}

function dataConfirm(){
	$.post(contextPath+"/pages/common/top-dialog-buttons.jsp").done(function(data){
		var dialog  = $(data);
		dialog.find(".modal-title").html("首页数据确认");
				   var str = '';
				   str += '<div class="row">';
				   str += '<span style="width: 70px; float: left; margin-top: 15px; margin-left: 15px; font-weight: bold;">开始日期</span>';
				   str += '<input id="date-from" class="form-control" type="text" style="width: 110px; margin: 5px; float: left;"  />';
				   str += '<span style="width: 70px; float: left; margin-top: 15px; margin-left: 15px; font-weight: bold;">结束日期</span>';
				   str += '<input id="date-to" class="form-control" type="text" style="width: 110px; margin: 5px; float: left;" />';
				   str += '</div>';
					dialog.find(".modal-dialog").width(500);
					dialog.find(".modal-body").empty();
					dialog.find(".modal-body").append(str);
					//初始化时间
					$.ajax({
						   url:contextPath+"/DrgsIndexCal/getLatestPatientDate.dhc",
						   type:"post",
						   dataType:"json",
						   async:false,
						   success:function(result){
							   if (result.data!=null){
									var date = result.data;
									var arr = date.split('-');
									year = arr[0];
									month = arr[1];
									dialog.find("#date-from").val(year +"-"+ month +"-01");
									dialog.find("#date-to").val(date);
								} 
						   }
					   });
					//点击确定 
					dialog.find("#save").on('click',function(){
						var datefrom = dialog.find("#date-from").val();
						var dateto = dialog.find("#date-to").val();
						$.post(contextPath+"/fileUpload/saveConfirmFlag.dhc",{"datefrom":datefrom,"dateto":dateto}).done(function(result){
							console.log(result)
							if(result.success){
								$("#navTabs").messages({
	            					type : 'success',
	            					content : "发布成功！"
	            				});
							}else{
								$("#navTabs").messages({
									type:"error",
									content:result.errorMessage
								});
							}
							dialog.modal('hide');
						})
					}).end().modal({
                        keyboard : false
                    }).on({
                        'hidden.bs.modal' : function() {
                            dialog.remove();
                        },
                        'complete': function(){
                        	dialog.modal('hide');
                        }
                    });
					
					//日期选择器
					dialog.find("#date-from").datetimepicker({
					       format: "yyyy-mm-dd",
					       autoclose: true,
					       todayBtn: true,
					       minView: 2,
					       language: 'zh-CN'
					  });
					dialog.find("#date-to").datetimepicker({
					       format: "yyyy-mm-dd",
					       autoclose: true,
					       todayBtn: true,
					       minView: 2,
					       language: 'zh-CN',
					  });
	})
}